Automated Detection of Language Issues Affecting Accuracy, Ambiguity and Verifiability in Software Requirements Written in Natural Language
نویسندگان
چکیده
Most embedded systems for the avionics industry are considered safety critical systems; as a result, strict software development standards exist to ensure critical software is built with the highest quality possible. One of such standards, DO-178B, establishes a number of properties that software requirements must satisfy including: accuracy, non-ambiguity and verifiability. From a language perspective, it is possible to automate the analysis of software requirements to determine whether or not they satisfy some quality properties. This work suggests a bounded definition for three properties (accuracy, non-ambiguity and verifiability) considering the main characteristics that software requirements must exhibit to satisfy those objectives. A software prototype that combines natural language processing (NLP) techniques and specialized dictionaries was built to examine software requirements written in English with the goal of identifying whether or not they satisfy the desired properties. Preliminary results are presented showing how the tool effectively identifies critical issues that are normally ignored by human reviewers.
منابع مشابه
Avoiding Ambiguities in Arabic Software User Requirements
Errors in requirements elicitation cause much more expensive errors in later phases of software engineering. A major source of errors is the ambiguity of the natural languages initially used to write the user requirements. Most of the research studies in the literature have focused on ambiguity detection and correction after the user requirements are written. A better approach would be avoiding...
متن کاملFrom Contract Drafting to Software Specification: Linguistic Sources of Ambiguity
This handbook is about writing software requirements specifications and legal contracts, two kinds of documents with similar needs for completeness, consistency, and precision. Particularly when these are written, as they usually are, in natural language, ambiguity—by any definition—is a major cause of their not specifying what they should. Simple misuse of the language in which the document is...
متن کاملContextual Knowledge Representation for Requirements Documents in Natural Language
In software requirements engineering there have been very few attempts to automate the translation from a requirements document written in a natural language (NL) to one of the formal specification languages. One of the major reasons for this challenge comes from the ambiguity of the NL requirements documentation because NL depends heavily on context. To make a smooth transition from NL require...
متن کاملPatterns and metamodel for a natural-language-based requirements specification language
Software requirements engineering is an essential activity for the successful development of information systems. Requirements can be specified using different techniques, but taking into account the different stakeholders that have to deal with requirements information, a successful approach has to balance the need to use a widely understood requirements notation, with the importance of elimin...
متن کاملAutomatic Transition of Natural Language Software Requirements Specification into Formal Presentation
Software requirements specification is a critical activity of the software process, as errors at this stage inevitably lead to problems later on in system design and implementation. The requirements are written in natural language, with the potential for ambiguity, contradiction or misunderstanding, or simply an inability of developers to deal with a large amount of information. This paper prop...
متن کامل